/*描述战斗单位的类（父类）
 * 父类初始化值为电脑
 * 成员变量（5个）：名称，生命值，攻击力，防御力，命中率
 * 方法函数3个：
 * 遭到攻击的处理函数
 * 阵亡时的处理函数
 * 对方没有打中的处理函数
 *
 * author:@杨陈菊
 */

public class GameUtil {
    String name = "电脑";            //名称
    int life = 80;                  //生命值
    int attack = 15;                //攻击力
    int defend = 5;                 //防御力
    double hr = 0.75 ;              //命中率
    public int getLife() {
        return life;
    }
    public void setLife(int life) {
        this.life = life;
    }
    public int getAttack() {
        return attack;
    }
    public void setAttack(int attack) {
        this.attack = attack;
    }
    public int getDefend() {
        return defend;
    }
    public void setDefend(int defend) {
        this.defend = defend;
    }
    public double getHr() {
        return hr;
    }
    public void setHr(double hr) {
        this.hr = hr;
    }
    //遭到攻击时的处理函数
    public void fangyu(int attack) {
        int hurt = 0;              //受到的伤害
        int residue_life;          //剩余生命值
        if (die()) {               //调用下面的阵亡处理函数
            if(attack>defend) {    //对手攻击力大于自身防御力则受到伤害，否则受伤值为0
                hurt = attack-defend;
            }else {
                hurt = 0;
            }
            residue_life = life - hurt;         //每回合计算剩余生命值
            System.out.println(this.name+"做出了防御，受到"+hurt+"点伤害！");//打印受到多少伤害
            if(residue_life<0)
                residue_life = 0;
            System.out.println("还剩"+residue_life+"点生命值");   //打印剩余生命值
            life = residue_life;         //当前生命值
        }else {

        }
    }
    public void lastone(int number){
        int life1 = Cavalry.getlife();
        if(number == 6){

        }
    }
    //阵亡时的处理函数，返回一个布尔值，代表是否死亡
    public boolean die() {
        boolean flag=true;    //初始化，代表活着
        if (life <= 0) {       //生命值小于等于0则阵亡
            System.out.println(this.name+"阵亡,游戏结束！");
            flag = false;
        }
        return flag;    //返回生存状态
    }
    //没有打中，躲开的处理函数
    public void dodge() {
        System.out.println("没有击中，"+this.name+"躲过一劫！");
    }
}

